//868. 二进制间距
//思路：定义两个变量gap，max，分别初始化为-1与0
//遍历32个位置，当i位置为1，gap赋值i，等到下一次再出现1，更新max与i-gap两个的最大值


#include <math.h>
int binaryGap(int n){
    int gap = -1, max = 0;
    int i = 0;
    while (i < 32)
    {
        if(n&1 == 1)
        {
            if(gap != -1)// 如果gap初始化为0，当第一个位置为1时，这里就会出问题
            {
                max = fmax(max, i-gap);
            }
            gap = i;
        }

        n >>= 1;
        i++;
    }
    return max;
}